查看原文
其他

Go 1.18 发布,同时支持泛型;Web开发框架Neo 近乎同日发布

为开发者服务的 21CTO 2023-06-18


Go研发团队的领导者Russ Cox在官方博客上宣布:Go 1.18 Beta1版本正式发布。


地址:https://go.dev/blog/go1.18b


Go 1.18 Beta 1 是第一个包含 Go 对使用参数化类型的泛型代码的新支持的预览版本。


Go官方表示,泛型是自 Go 1 发布以来 Go 最重要的变化,也是他们所做过的最大的单一语言变化。


对于任何大型的新功能,新用户发现新错误是很常见的,我们不希望泛型成为这个规则的例外;一定要以适当的谨慎态度对待它们。此外,某些微妙的情况,例如特定类型的递归泛型类型,已推迟到未来版本。


也就是说,我们知道一些早期采用者已经相当满意,如果你有你认为特别适合泛型的用例,我们希望你能尝试一下。我们发布了一个 关于如何开始使用泛型的简短教程, 并在上周的 GopherCon 上做了一个演讲。你甚至可以在 Go playground 的 Go dev 分支模式下试用 。


Go 1.18 Beta 1 包含如下增益:


  • 添加了对编写基于模糊测试的内置支持 ,以自动查找导致程序崩溃或返回无效答案的输入。

  • 添加了一个新的“Go workspace mode”,它允许用户同时使用多个 Go 模块,这对大型项目来说是一个重要的用例。

  • 包含一个扩展go version -m命令,它现在可以记录 compiler flags 等构建细节 。程序可以使用 debug.ReadBuildInfo 查询自己的构建细节 ,现在可以使用新的 debug/buildinfo 包从其他二进制文件中读取构建细节 。此功能旨在成为任何需要为 Go 二进制文件生成软件物料清单 (SBOM) 的工具的基础。

  • Go 1.17 曾添加了一个新的基于寄存器的调用约定,以加速 x86-64 系统上的 Go 代码。Go 1.18 Beta 1 将该功能扩展到 ARM64 和 PPC64,从而提高了 20% 的速度。


更多详情请查看官方博客:https://go.dev/blog/go1.18beta1


Neo:一个Go语言的Web开发框架


一门Web开发语言,如果提供一个开发效率高,且质量优异的框架最好不过,在12月13日,使用Go语言开发的一个开源框架亦正式发布,称之为Neo。


项目网址:https://ivpusic.github.io/neo/

API文档:https://godoc.org/github.com/ivpusic/neo


安装方式:


# framework
go get github.com/ivpusic/neo


# CLI tool
go get github.com/ivpusic/neo/cmd/neo

创建Neo应用的方法:


neo new myappcd myapp

package mainimport (
"github.com/ivpusic/neo"
)


func main() {
app := neo.App()


app.Get("/", func(ctx *neo.Ctx) (int, error) {
return 200, ctx.Res.Text("I am Neo Programmer")
})


app.Start()
}

运行它:

neo run main.go

Neo框架使用的是MIT开源协议,GitHub地址为:


https://github.com/ivpusic/neo


具体使用是否方便强大,各位用过的同学可以分享心得给大家。


作者:场长


关于21CTO.com


21CTO.com是开发者的学习与服务平台。


我们为开发者提供高质量的资讯、学习以及工具等产品;

帮助企业快速对接开发者,包括人才招聘,数字化转型咨询,软件研发等服务。


网站地址:www.21cto.com

投稿邮箱:info@21cto.com

联系微信:13426109659


 扫描二维码关注21CTO微信号




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存